package com.cmyshare.design.adapterPattern;

/**
 * @version 1.0
 * @Author cmy
 * @Date 2023/12/26 15:15
 * @desc Adapter适配器，Target的实现类
 */
public class Adapter implements Target{

    /**
     * Adapter对Adaptee的接口与Target接口进行适配，
     */

    /**
     * 定义适配器类变量
     */
    private Adaptee adaptee;

    /**
     * 有参构造Adapter适配器
     * @param adaptee
     */
    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    /**
     * 实现Target的adaptee方法
     */
    @Override
    public void adapteeMethod() {
        //调用适配器类Adaptee中的adapteeMethod方法，适配这个adapteeMethod方法
        adaptee.adapteeMethod();
    }

    /**
     * 实现Target的adapter方法
     */
    @Override
    public void adapterMethod() {
        //输出Adapter method!
        System.out.println("Adapter method!");
    }
}
